#ifndef _BOARD_CONFIG_H_
#define _BOARD_CONFIG_H_

#include <driver/gpio.h>

#define POWER_SAVE_ENABLE true

#define AUDIO_INPUT_SAMPLE_RATE 24000
#define AUDIO_OUTPUT_SAMPLE_RATE 24000

#define AUDIO_INPUT_REFERENCE true

#define AUDIO_POWER_ON_GPIO GPIO_NUM_14

#define AUDIO_I2S_GPIO_MCLK GPIO_NUM_2
#define AUDIO_I2S_GPIO_WS GPIO_NUM_45
#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_17
#define AUDIO_I2S_GPIO_DIN GPIO_NUM_16
#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_15

#define AUDIO_CODEC_PA_PIN GPIO_NUM_46
#define AUDIO_CODEC_I2C_SDA_PIN GPIO_NUM_8
#define AUDIO_CODEC_I2C_SCL_PIN GPIO_NUM_18
#define AUDIO_CODEC_ES8311_ADDR ES8311_CODEC_DEFAULT_ADDR
#define AUDIO_CODEC_ES7210_ADDR ES7210_CODEC_DEFAULT_ADDR

#define BUILTIN_LED_GPIO GPIO_NUM_NC
#define BOOT_BUTTON_GPIO GPIO_NUM_0
#define VOLUME_UP_BUTTON_GPIO GPIO_NUM_38
#define VOLUME_DOWN_BUTTON_GPIO GPIO_NUM_39

#define CHARGCHIP_TP5400 1
#define BATADC_GPIO GPIO_NUM_1
#define BATADC_CHANNEL ADC1_CHANNEL_0
#define BATADC_RATIO (1.30f)  // 电压分压比
#define BATADC_CHARGING_IO GPIO_NUM_13
#define BATADC_CHARGING_FULL_IO GPIO_NUM_NC

#define DISPLAY_ENABLE (1)

#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_42
#define DISPLAY_MOSI_PIN GPIO_NUM_47
#define DISPLAY_CLK_PIN GPIO_NUM_21
#define DISPLAY_DC_PIN GPIO_NUM_40
#define DISPLAY_RST_PIN GPIO_NUM_48
#define DISPLAY_CS_PIN GPIO_NUM_41

#define DISPLAY_SPI_MODE 0
#define DISPLAY_SPI_HOST SPI3_HOST
#define DISPLAY_SPI_FREQ (40 * 1000 * 1000)

#define DISPLAY_WIDTH 240
#define DISPLAY_HEIGHT 320

#define DISPLAY_MIRROR_X true
#define DISPLAY_MIRROR_Y false
#define DISPLAY_SWAP_XY true
#define DISPLAY_INVERT_COLOR false
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_RGB

#define LVGL_LCD_DRAW_BUFF_DOUBLE (0)

#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false

#endif  // _BOARD_CONFIG_H_
